Verifying observational robustness against a c11-style memory model
نویسندگان
چکیده
We study the problem of verifying robustness concurrent programs against a C11-style memory model that includes relaxed accesses and release/acquire fences, show this verification can be reduced to standard reachability under sequential consistency. further observe existing notions do not allow use speculative reads as in sequence lock mechanism, introduce novel "observational robustness" property fills gap. In turn, we how soundly check for observational robustness. have implemented our method applied it several challenging algorithms, demonstrating applicability approach. To best knowledge, is first programming language concurrency fences.
منابع مشابه
A Program Logic for C11 Memory Fences
We describe a simple, but powerful, program logic for reasoning about C11 relaxed accesses used in conjunction with release and acquire memory fences. Our logic, called fenced separation logic (FSL), extends relaxed separation logic with special modalities for describing state that has to be protected by memory fences. Like its precursor, FSL allows ownership transfer over synchronizations and ...
متن کاملVerifying Robustness of Event-Driven Asynchronous Programs Against Concurrency
We define a correctness criterion, called robustness against concurrency, for a class of event-driven asynchronous programs that are at the basis of modern UI frameworks in Android, iOS, and Javascript. A program is robust when all possible behaviors admitted by the program under arbitrary procedure and event interleavings are admitted even if asynchronous procedures (respectively, events) are ...
متن کاملVerifying Sequential Consistency on Shared-Memory Multiprocessors by Model Checking
The memory model of a shared-memory multiprocessor is a contract between the designer and programmer of the multiprocessor. The sequential consistency memory model specifies a total order among the memory (read and write) events performed at each processor. A trace of a memory system satisfies sequential consistency if there exists a total order of all memory events in the trace that is both co...
متن کاملTaming the complexities of the C11 and OpenCL memory models
We study how the C11 memory model can be simplified and how it can be extended. Our first contribution is to propose a mild strengthening of the model that enables the rules pertaining to sequentially-consistent (SC) operations to be significantly simplified. We eliminate one of the total orders that candidate executions must range over, leading to a model that is significantly faster to simula...
متن کاملVerifying System Components with Memory
This paper presents the speciication of a generic class of components that have memory, the programmable-lter class. This class consists of components that process inputs one at a time and send a corresponding output derived from the current input and previous inputs. Systems in this class are secure not only if the security classiication of the outputs is at the same or higher level as the cor...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3434285